expq3 (problem 3.4.2)

Time bar (total: 16.7s)

analyze134.0ms (0.8%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%25.4%74.6%0%0%0%0
0%0%25.4%74.6%0%0%0%1
0%0%25.4%74.6%0%0%0%2
0%0%25.4%74.6%0%0%0%3
0%0%22.2%77.8%0%0%0%4
0%0%20.6%79.4%0%0%0%5
0%0%18.3%81.7%0%0%0%6
0%0%10.7%89.3%0%0%0%7
0%0%9.3%90.7%0%0%0%8
0%0%8.2%91.8%0%0%0%9
0%0%5.7%94.3%0%0%0%10
0%0%5%95%0%0%0%11
0%0%4.4%95.6%0%0%0%12
Compiler

Compiled 54 to 33 computations (38.9% saved)

sample16.2s (97.2%)

Results
8.7s62874×body256precondition
6.3s6278×body2048valid
757.0ms1448×body1024valid
183.0ms119×body4096valid
111.0ms349×body512valid
11.0ms62×body256valid
Bogosity

preprocess333.0ms (2%)

Algorithm
egg-herbie
Rules
765×associate-*r*
741×associate-/l*
677×associate-*l*
548×associate-/r*
363×*-commutative
Problems
235×(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 (+.f64 a b) eps)) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 a eps)) 1) (-.f64 (exp.f64 (*.f64 b eps)) 1)))
15×(-.f64 (exp.f64 (*.f64 (+.f64 a b) eps)) 1)
(-.f64 (exp.f64 (*.f64 a eps)) 1)
(-.f64 (exp.f64 (*.f64 b eps)) 1)
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
095937
1278921
2730921
32437921
Stop Event
node limit
Calls
Call 1
Inputs
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 (+.f64 a b) eps)) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 a eps)) 1) (-.f64 (exp.f64 (*.f64 b eps)) 1)))
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 (+.f64 a b) eps)) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 a eps)) 1) (-.f64 (exp.f64 (*.f64 b eps)) 1)))
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 (+.f64 (neg.f64 a) b) eps)) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 (neg.f64 a) eps)) 1) (-.f64 (exp.f64 (*.f64 b eps)) 1)))
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 (+.f64 a (neg.f64 b)) eps)) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 a eps)) 1) (-.f64 (exp.f64 (*.f64 (neg.f64 b) eps)) 1)))
(/.f64 (*.f64 (neg.f64 eps) (-.f64 (exp.f64 (*.f64 (+.f64 a b) (neg.f64 eps))) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 a (neg.f64 eps))) 1) (-.f64 (exp.f64 (*.f64 b (neg.f64 eps))) 1)))
(neg.f64 (/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 (+.f64 (neg.f64 a) b) eps)) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 (neg.f64 a) eps)) 1) (-.f64 (exp.f64 (*.f64 b eps)) 1))))
(neg.f64 (/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 (+.f64 a (neg.f64 b)) eps)) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 a eps)) 1) (-.f64 (exp.f64 (*.f64 (neg.f64 b) eps)) 1))))
(neg.f64 (/.f64 (*.f64 (neg.f64 eps) (-.f64 (exp.f64 (*.f64 (+.f64 a b) (neg.f64 eps))) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 a (neg.f64 eps))) 1) (-.f64 (exp.f64 (*.f64 b (neg.f64 eps))) 1))))
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 (+.f64 b a) eps)) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 b eps)) 1) (-.f64 (exp.f64 (*.f64 a eps)) 1)))
(/.f64 (*.f64 a (-.f64 (exp.f64 (*.f64 (+.f64 eps b) a)) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 b a)) 1)))
(/.f64 (*.f64 b (-.f64 (exp.f64 (*.f64 (+.f64 a eps) b)) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 a b)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
Outputs
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 (+.f64 a b) eps)) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 a eps)) 1) (-.f64 (exp.f64 (*.f64 b eps)) 1)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 eps b))) (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a))))
(*.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (/.f64 eps (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))
(*.f64 eps (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 (+.f64 a b) eps)) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 a eps)) 1) (-.f64 (exp.f64 (*.f64 b eps)) 1)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 eps b))) (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a))))
(*.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (/.f64 eps (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))
(*.f64 eps (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 (+.f64 (neg.f64 a) b) eps)) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 (neg.f64 a) eps)) 1) (-.f64 (exp.f64 (*.f64 b eps)) 1)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 eps (neg.f64 a)))) (/.f64 (expm1.f64 (*.f64 eps (+.f64 b (neg.f64 a)))) (expm1.f64 (*.f64 eps b))))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 a (neg.f64 eps)))) (/.f64 (expm1.f64 (*.f64 eps (-.f64 b a))) (expm1.f64 (*.f64 eps b))))
(*.f64 (expm1.f64 (*.f64 eps (-.f64 b a))) (/.f64 (/.f64 eps (expm1.f64 (*.f64 a (neg.f64 eps)))) (expm1.f64 (*.f64 eps b))))
(*.f64 eps (/.f64 (/.f64 (expm1.f64 (*.f64 eps (-.f64 b a))) (expm1.f64 (*.f64 eps b))) (expm1.f64 (*.f64 eps (neg.f64 a)))))
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 (+.f64 a (neg.f64 b)) eps)) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 a eps)) 1) (-.f64 (exp.f64 (*.f64 (neg.f64 b) eps)) 1)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 eps a))) (/.f64 (expm1.f64 (*.f64 eps (-.f64 a b))) (expm1.f64 (*.f64 eps (neg.f64 b)))))
(*.f64 (expm1.f64 (*.f64 eps (-.f64 a b))) (/.f64 eps (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps (neg.f64 b))))))
(*.f64 eps (/.f64 (expm1.f64 (*.f64 eps (-.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps (neg.f64 b))))))
(/.f64 (*.f64 (neg.f64 eps) (-.f64 (exp.f64 (*.f64 (+.f64 a b) (neg.f64 eps))) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 a (neg.f64 eps))) 1) (-.f64 (exp.f64 (*.f64 b (neg.f64 eps))) 1)))
(*.f64 (/.f64 (neg.f64 eps) (expm1.f64 (*.f64 eps (neg.f64 a)))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) (neg.f64 eps))) (expm1.f64 (*.f64 eps (neg.f64 b)))))
(*.f64 (/.f64 (neg.f64 eps) (*.f64 (expm1.f64 (*.f64 a (neg.f64 eps))) (expm1.f64 (*.f64 eps (neg.f64 b))))) (expm1.f64 (*.f64 eps (neg.f64 (+.f64 a b)))))
(*.f64 (expm1.f64 (*.f64 eps (neg.f64 (+.f64 a b)))) (/.f64 (/.f64 (neg.f64 eps) (expm1.f64 (*.f64 eps (neg.f64 b)))) (expm1.f64 (*.f64 a (neg.f64 eps)))))
(*.f64 (expm1.f64 (*.f64 eps (-.f64 (neg.f64 b) a))) (/.f64 (/.f64 (neg.f64 eps) (expm1.f64 (*.f64 eps (neg.f64 b)))) (expm1.f64 (*.f64 eps (neg.f64 a)))))
(neg.f64 (/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 (+.f64 (neg.f64 a) b) eps)) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 (neg.f64 a) eps)) 1) (-.f64 (exp.f64 (*.f64 b eps)) 1))))
(/.f64 (neg.f64 (*.f64 eps (expm1.f64 (*.f64 eps (+.f64 b (neg.f64 a)))))) (*.f64 (expm1.f64 (*.f64 eps b)) (expm1.f64 (*.f64 eps (neg.f64 a)))))
(*.f64 (/.f64 (neg.f64 eps) (expm1.f64 (*.f64 a (neg.f64 eps)))) (/.f64 (expm1.f64 (*.f64 eps (-.f64 b a))) (expm1.f64 (*.f64 eps b))))
(*.f64 (expm1.f64 (*.f64 eps (-.f64 b a))) (neg.f64 (/.f64 (/.f64 eps (expm1.f64 (*.f64 eps b))) (expm1.f64 (*.f64 eps (neg.f64 a))))))
(neg.f64 (/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 (+.f64 a (neg.f64 b)) eps)) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 a eps)) 1) (-.f64 (exp.f64 (*.f64 (neg.f64 b) eps)) 1))))
(neg.f64 (*.f64 (/.f64 eps (expm1.f64 (*.f64 eps a))) (/.f64 (expm1.f64 (*.f64 eps (-.f64 a b))) (expm1.f64 (*.f64 eps (neg.f64 b))))))
(*.f64 (neg.f64 (/.f64 eps (expm1.f64 (*.f64 eps a)))) (/.f64 (expm1.f64 (*.f64 eps (-.f64 a b))) (expm1.f64 (*.f64 eps (neg.f64 b)))))
(*.f64 (/.f64 (expm1.f64 (*.f64 eps (-.f64 a b))) (expm1.f64 (*.f64 eps (neg.f64 b)))) (/.f64 (neg.f64 eps) (expm1.f64 (*.f64 eps a))))
(*.f64 (expm1.f64 (*.f64 eps (-.f64 a b))) (/.f64 (neg.f64 eps) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps (neg.f64 b))))))
(neg.f64 (/.f64 (*.f64 (neg.f64 eps) (-.f64 (exp.f64 (*.f64 (+.f64 a b) (neg.f64 eps))) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 a (neg.f64 eps))) 1) (-.f64 (exp.f64 (*.f64 b (neg.f64 eps))) 1))))
(/.f64 (neg.f64 (*.f64 (neg.f64 eps) (expm1.f64 (*.f64 (+.f64 a b) (neg.f64 eps))))) (*.f64 (expm1.f64 (*.f64 eps (neg.f64 a))) (expm1.f64 (*.f64 eps (neg.f64 b)))))
(/.f64 (*.f64 eps (expm1.f64 (*.f64 eps (neg.f64 (+.f64 a b))))) (*.f64 (expm1.f64 (*.f64 a (neg.f64 eps))) (expm1.f64 (*.f64 eps (neg.f64 b)))))
(*.f64 (/.f64 eps (*.f64 (expm1.f64 (*.f64 a (neg.f64 eps))) (expm1.f64 (*.f64 eps (neg.f64 b))))) (expm1.f64 (*.f64 eps (neg.f64 (+.f64 a b)))))
(*.f64 (/.f64 (expm1.f64 (*.f64 eps (-.f64 (neg.f64 b) a))) (expm1.f64 (*.f64 eps (neg.f64 a)))) (/.f64 eps (expm1.f64 (*.f64 eps (neg.f64 b)))))
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 (+.f64 b a) eps)) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 b eps)) 1) (-.f64 (exp.f64 (*.f64 a eps)) 1)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 eps b))) (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a))))
(*.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (/.f64 eps (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))
(*.f64 eps (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))
(/.f64 (*.f64 a (-.f64 (exp.f64 (*.f64 (+.f64 eps b) a)) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 b a)) 1)))
(*.f64 (/.f64 a (expm1.f64 (*.f64 eps a))) (/.f64 (expm1.f64 (*.f64 a (+.f64 eps b))) (expm1.f64 (*.f64 a b))))
(*.f64 (expm1.f64 (*.f64 a (+.f64 eps b))) (/.f64 a (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 a b)))))
(*.f64 a (/.f64 (expm1.f64 (*.f64 a (+.f64 eps b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 a b)))))
(/.f64 (*.f64 b (-.f64 (exp.f64 (*.f64 (+.f64 a eps) b)) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 a b)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(*.f64 (/.f64 b (expm1.f64 (*.f64 a b))) (/.f64 (expm1.f64 (*.f64 b (+.f64 eps a))) (expm1.f64 (*.f64 eps b))))
(*.f64 (/.f64 (expm1.f64 (*.f64 b (+.f64 eps a))) (expm1.f64 (*.f64 a b))) (/.f64 b (expm1.f64 (*.f64 eps b))))
(*.f64 (expm1.f64 (*.f64 b (+.f64 eps a))) (/.f64 b (*.f64 (expm1.f64 (*.f64 eps b)) (expm1.f64 (*.f64 a b)))))
Symmetry

(sort a b)

Compiler

Compiled 103 to 35 computations (66% saved)

end0.0ms (0%)

Profiling

Loading profile data...