Maksimov and Kolovsky, Equation (4)

Time bar (total: 28.8s)

analyze1.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 40 to 30 computations (25% saved)

sample28.6s (99.3%)

Results
938.0ms6324×0valid-rival
849.0ms6323×0valid-rival-baseline
403.0ms2325×0valid-sollya
682.0ms1932×1valid-rival-baseline
1.0s1932×1valid-rival
539.0ms1931×1valid-sollya
Bogosity

preprocess132.0ms (0.5%)

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)

Compiler

Compiled 19 to 14 computations (26.3% saved)

eval0.0ms (0%)

Compiler

Compiled 4 to 4 computations (0% saved)

prune2.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
87.6%
(+.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)

simplify5.0ms (0%)

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)

soundness1.0ms (0%)

Stop Event
fuel
Compiler

Compiled 19 to 14 computations (26.3% saved)

preprocess48.0ms (0.2%)

Remove

(abs K)

Compiler

Compiled 152 to 112 computations (26.3% saved)

end0.0ms (0%)

Profiling

Loading profile data...