Herbie run

Date:Thursday, February 13th, 2025
Commit:0e88e39c on custom-lifting-lowering
Seed:2025044
Parameters:256 points for 4 iterations
Flags:
reduce:regimesreduce:binary-searchreduce:branch-expressionsreduce:simplifysetup:simplifysetup:searchrules:arithmeticrules:polynomialsrules:fractionsrules:exponentsrules:trigonometryrules:hyperbolicrules:numericsrules:specialrules:boolsrules:branchesgenerate:rrgenerate:taylorgenerate:simplifygenerate:proofs
default
Memory:196 302.7 MB

Time bar (total: 2.7min)

sample1.2min (43.3%)

Memory
878.0MiB live, 86 448.2MiB allocated; 28.9s collecting garbage
Samples
29.4s284 791×0valid
13.8s44 151×1valid
8.3s17 360×2valid
344.0ms450×3valid
315.0ms4 110×0invalid
189.0ms202×5exit
148.0ms956×0exit
Precisions
Click to see histograms. Total time spent on operations: 38.9s
ival-mult: 9.1s (23.4% of total)
ival-pow: 5.8s (14.9% of total)
ival-add: 5.0s (12.8% of total)
adjust: 4.9s (12.7% of total)
ival-div: 3.4s (8.7% of total)
ival-sub: 3.1s (8.1% of total)
ival-sin: 1.9s (4.9% of total)
ival-cos: 1.8s (4.6% of total)
const: 933.0ms (2.4% of total)
ival-exp: 579.0ms (1.5% of total)
ival-pow2: 515.0ms (1.3% of total)
ival-sqrt: 495.0ms (1.3% of total)
ival-neg: 474.0ms (1.2% of total)
exact: 277.0ms (0.7% of total)
ival-tan: 124.0ms (0.3% of total)
ival-assert: 119.0ms (0.3% of total)
ival-log1p: 98.0ms (0.3% of total)
ival-expm1: 80.0ms (0.2% of total)
ival-atan: 72.0ms (0.2% of total)
ival-pi: 43.0ms (0.1% of total)
ival-hypot: 29.0ms (0.1% of total)
ival-<=: 12.0ms (0% of total)
ival-true: 10.0ms (0% of total)
ival-and: 9.0ms (0% of total)
ival-if: 6.0ms (0% of total)
ival-fabs: 5.0ms (0% of total)
ival-==: 3.0ms (0% of total)
ival-<: 1.0ms (0% of total)
Bogosity

rewrite31.2s (19.2%)

Memory
365.2MiB live, 31 538.7MiB allocated; 6.8s collecting garbage
Stop Event
213×iter limit
142×node limit
saturated
unsound
Counts
20 110 → 41 892

preprocess9.9s (6.1%)

Memory
363.6MiB live, 10 665.0MiB allocated; 2.8s collecting garbage
Stop Event
84×iter limit
64×node limit
20×saturated
Compiler

Compiled 54 099 to 8 456 computations (84.4% saved)

explain9.3s (5.8%)

Memory
276.0MiB live, 13 752.6MiB allocated; 2.0s collecting garbage
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
-.f64#fcancellation13180
+.f64#fcancellation36691
-.f64(-.f64 (*.f64 #s(literal 170000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 binary64) t) #s(literal 170000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 binary64))oflow-left2190
sqrt.f64#foflow-rescue1960
log.f64(log.f64 (+.f64 #s(literal 1 binary64) x))sensitivity1721
/.f64#fn/o1630
/.f64#fo/o1620
pow.f64(pow.f64 (+.f64 #s(literal 1 binary64) (/.f64 i n)) n)sensitivity1301
-.f64#fnan-rescue1130
/.f64#fu/n920
/.f64#fu/u530
/.f64#fn/u480
+.f64#fnan-rescue470
/.f64#fo/n470
*.f64#fn*u390
*.f64#fn*o250
pow.f64(pow.f64 (+.f64 #s(literal 1 binary64) (/.f64 i n)) n)oflow-rescue170
(pow.f64 (+.f64 #s(literal 1 binary64) (/.f64 i n)) n)overflow25
(/.f64 i n)overflow17
(+.f64 #s(literal 1 binary64) (/.f64 i n))overflow17
sqrt.f64#fuflow-rescue120
Confusion
Predicted +Predicted -
+3907241
-1066498
Precision
0.9735858460004984
Recall
0.9418997107039537
Confusion?
Predicted +Predicted MaybePredicted -
+390717467
-1061746324
Precision?
0.9357945425361156
Recall?
0.983847637415622
Freqs
test
numberfreq
06739
13575
2395
343
Total Confusion?
Predicted +Predicted MaybePredicted -
+3010
-209
Precision?
0.9393939393939394
Recall?
1.0
Samples
1.6s16 276×0valid
1.4s3 764×1valid
643.0ms1 416×2valid
32.0ms48×3valid
Compiler

Compiled 7 535 to 1 486 computations (80.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 2.5s
ival-mult: 583.0ms (23.2% of total)
adjust: 456.0ms (18.2% of total)
ival-add: 328.0ms (13.1% of total)
ival-pow: 265.0ms (10.6% of total)
ival-div: 240.0ms (9.6% of total)
ival-sub: 200.0ms (8% of total)
ival-sin: 110.0ms (4.4% of total)
const: 109.0ms (4.3% of total)
ival-cos: 71.0ms (2.8% of total)
ival-exp: 30.0ms (1.2% of total)
ival-sqrt: 24.0ms (1% of total)
ival-true: 19.0ms (0.8% of total)
exact: 19.0ms (0.8% of total)
ival-neg: 15.0ms (0.6% of total)
ival-pow2: 14.0ms (0.6% of total)
ival-assert: 9.0ms (0.4% of total)
ival-atan: 5.0ms (0.2% of total)
ival-tan: 4.0ms (0.2% of total)
ival-log1p: 4.0ms (0.2% of total)
ival-expm1: 3.0ms (0.1% of total)
ival-pi: 2.0ms (0.1% of total)

eval8.4s (5.2%)

Memory
158.6MiB live, 12 936.6MiB allocated; 2.7s collecting garbage
Compiler

Compiled 2 249 751 to 196 362 computations (91.3% saved)

derivations7.8s (4.8%)

Memory
-169.6MiB live, 7 345.5MiB allocated; 1.3s collecting garbage
Stop Event
25×fuel
17×done
Compiler

Compiled 24 172 to 2 560 computations (89.4% saved)

prune6.5s (4%)

Memory
-749.1MiB live, 7 326.9MiB allocated; 4.2s collecting garbage
Counts
48 227 → 1 955
Compiler

Compiled 144 407 to 63 919 computations (55.7% saved)

series5.2s (3.2%)

Memory
-110.3MiB live, 7 299.3MiB allocated; 1.4s collecting garbage
Counts
3 321 → 16 789
Calls

879 calls:

TimeVariablePointExpression
153.0ms
c
@0
((* (+ a (+ b (+ c d))) 2) (* 2 (+ b (+ (+ d c) a))) 2 (+ b (+ (+ d c) a)) b (+ (+ d c) a) (* c (+ 1 (/ (+ a d) c))) c (+ 1 (/ (+ a d) c)) 1 (/ (+ a d) c) (+ a d) a d (* (- (/ (* a a) (- a (+ (+ d c) b))) (/ (pow (+ (+ d c) b) 2) (- a (+ (+ d c) b)))) 2) (- (/ (* a a) (- a (+ (+ d c) b))) (/ (pow (+ (+ d c) b) 2) (- a (+ (+ d c) b)))) (* (+ a (+ b (+ c d))) 2) (+ a (+ b (+ c d))) (+ b (+ c d)) (* (+ a (+ b (+ c d))) 2) (* (+ (* (/ (+ (+ c b) a) d) 2) 2) d) (+ (* (/ (+ (+ c b) a) d) 2) 2) (/ (+ (+ c b) a) d) (+ (+ c b) a) (+ c b) (* (+ a (+ b (+ c d))) 2) (* (+ (* (/ (+ (+ d c) b) a) 2) 2) a) (+ (* (/ (+ (+ d c) b) a) 2) 2) (/ (+ (+ d c) b) a) (+ (+ d c) b) (+ d c))
66.0ms
y
@inf
((/ (* (- x y) (+ x y)) (+ (* x x) (* y y))) (- (+ (* 0 (/ x y)) (pow (/ x y) 2)) (/ (- 1 (pow (/ x y) 4)) (+ 1 (pow (/ x y) 2)))) (+ (* 0 (/ x y)) (pow (/ x y) 2)) 0 (/ x y) x y (pow (/ x y) 2) 2 (/ (- 1 (pow (/ x y) 4)) (+ 1 (pow (/ x y) 2))) (- 1 (pow (/ x y) 4)) 1 (+ 1 (pow (/ x y) 2)) (/ (* (- x y) (+ x y)) (+ (* x x) (* y y))) (+ (* (/ (* y y) (* x x)) -2) 1) (/ (* y y) (* x x)) (* y y) (* x x) -2 (/ (* (- x y) (+ x y)) (+ (* x x) (* y y))) (- (+ (* (/ x y) (/ x y)) 0) (- 1 (exp (- (* (log x) 2) (* (log y) 2))))) (+ (* (/ x y) (/ x y)) 0) (- 1 (exp (- (* (log x) 2) (* (log y) 2)))) (/ (* (- x y) (+ x y)) (+ (* x x) (* y y))) (- (* (pow (/ x y) 2) 2) 1) (* (pow (/ x y) 2) 2) (/ (* (- x y) (+ x y)) (+ (* x x) (* y y))) (+ (* (exp (- (* (log y) 2) (* (log x) 2))) -2) 1) (exp (- (* (log y) 2) (* (log x) 2))) (- (* (log y) 2) (* (log x) 2)) (* (log y) 2) (log y) (* (log x) 2) (log x))
62.0ms
r
@inf
((- (- (+ 3 (/ 2 (* r r))) (* (* (+ (* -2 v) 3) 1/8) (* w (/ (* (* w r) r) (- 1 v))))) 9/2) (- (+ 3 (/ 2 (* r r))) (* (* (+ (* -2 v) 3) 1/8) (* w (/ (* (* w r) r) (- 1 v))))) (+ 3 (/ 2 (* r r))) 3 (/ 2 (* r r)) 2 (* r r) r (* (* (+ (* -2 v) 3) 1/8) (* w (/ (* (* w r) r) (- 1 v)))) (* (+ (* -2 v) 3) 1/8) (+ (* -2 v) 3) -2 v 1/8 (* w (/ (* (* w r) r) (- 1 v))) w (/ (* (* w r) r) (- 1 v)) (* (* w r) r) (* w r) (- 1 v) 1 9/2 (- (- (+ 3 (/ 2 (* r r))) (/ (* (* 1/8 (- 3 (* 2 v))) (* (* (* w w) r) r)) (- 1 v))) 9/2) (/ (+ (* -3/2 (* r r)) 2) (* r r)) (+ (* -3/2 (* r r)) 2) (- (- (+ 3 (/ 2 (* r r))) (/ (* (* 1/8 (- 3 (* 2 v))) (* (* (* w w) r) r)) (- 1 v))) 9/2) (- (+ 3 (/ 2 (* r r))) (/ (* (* 1/8 (- 3 (* 2 v))) (* (* (* w w) r) r)) (- 1 v))) (/ (+ (* (* r r) 3) 2) (* r r)) (+ (* (* r r) 3) 2) (- (- (+ 3 (/ 2 (* r r))) (/ (* (* 1/8 (- 3 (* 2 v))) (* (* (* w w) r) r)) (- 1 v))) 9/2) (- (+ 3 (/ 2 (* r r))) (/ (* (* 1/8 (- 3 (* 2 v))) (* (* (* w w) r) r)) (- 1 v))) (/ (* (* 1/8 (- 3 (* 2 v))) (* (* (* w w) r) r)) (- 1 v)) (* (* 1/4 (* r r)) (* w w)) (* 1/4 (* r r)) 1/4 (* w w) (- (- (+ 3 (/ (/ 2 r) r)) (* (* (+ (* -2 v) 3) 1/8) (/ (* w (* (* w r) r)) (- 1 v)))) 9/2) (- (+ 3 (/ (/ 2 r) r)) (* (* (+ (* -2 v) 3) 1/8) (/ (* w (* (* w r) r)) (- 1 v)))) (+ 3 (/ (/ 2 r) r)) (/ (/ 2 r) r) (/ 2 r) (* (* (+ (* -2 v) 3) 1/8) (/ (* w (* (* w r) r)) (- 1 v))) (/ (* w (* (* w r) r)) (- 1 v)) (* w (* (* w r) r)))
60.0ms
y
@0
((+ (+ (+ (* 1335/4 (pow y 6)) (* (* x x) (- (- (- (* (* (* (* 11 x) x) y) y) (pow y 6)) (* 121 (pow y 4))) 2))) (* 11/2 (pow y 8))) (/ x (* 2 y))) (* (/ x y) 1/2) (/ x y) x y 1/2 (+ (+ (+ (* 1335/4 (pow y 6)) (* (* x x) (- (- (- (* (* (* (* 11 x) x) y) y) (pow y 6)) (* 121 (pow y 4))) 2))) (* 11/2 (pow y 8))) (/ x (* 2 y))) (+ (+ (* 1335/4 (pow y 6)) (* (* x x) (- (- (- (* (* (* (* 11 x) x) y) y) (pow y 6)) (* 121 (pow y 4))) 2))) (* 11/2 (pow y 8))) (* -2 (* x x)) -2 (* x x) (/ x (* 2 y)) (* 2 y) 2)
56.0ms
x
@0
((/ (* (- x y) (+ x y)) (+ (* x x) (* y y))) (- (+ (* 0 (/ x y)) (pow (/ x y) 2)) (- 1 (exp (- (* (log x) 2) (* (log y) 2))))) (+ (* 0 (/ x y)) (pow (/ x y) 2)) 0 (/ x y) x y (pow (/ x y) 2) 2 (- 1 (exp (- (* (log x) 2) (* (log y) 2)))) 1 (exp (- (* (log x) 2) (* (log y) 2))) (- (* (log x) 2) (* (log y) 2)) (* (log x) 2) (log x) (* (log y) 2) (log y) (/ (* (- x y) (+ x y)) (+ (* x x) (* y y))) (+ (* (pow (/ y x) 2) -2) 1) (/ (* (- x y) (+ x y)) (+ (* x x) (* y y))) (+ (* (* (/ y x) (/ y x)) -2) 1) (* (/ y x) (/ y x)) (/ y x) -2 (/ (* (- x y) (+ x y)) (+ (* x x) (* y y))) (- (+ (* (/ x y) (/ x y)) 0) (- 1 (pow (/ x y) 2))) (+ (* (/ x y) (/ x y)) 0) (- 1 (pow (/ x y) 2)) (/ (* (- x y) (+ x y)) (+ (* x x) (* y y))) (- (+ (* 0 (/ x y)) (pow (/ x y) 2)) (/ (- 1 (pow (/ x y) 4)) (+ 1 (pow (/ x y) 2)))) (/ (- 1 (pow (/ x y) 4)) (+ 1 (pow (/ x y) 2))) (- 1 (pow (/ x y) 4)) (pow (/ x y) 4) 4 (+ 1 (pow (/ x y) 2)))

regimes4.9s (3.1%)

Memory
119.2MiB live, 8 009.9MiB allocated; 940ms collecting garbage
Counts
4 818 → 510
Calls

96 calls:

730.0ms
x
264.0ms
(*.f64 (cos.f64 x) (exp.f64 (*.f64 #s(literal 10 binary64) (*.f64 x x))))
242.0ms
b
203.0ms
c
193.0ms
a
Compiler

Compiled 7 939 to 5 165 computations (34.9% saved)

analyze3.9s (2.4%)

Memory
35.8MiB live, 5 781.0MiB allocated; 1.1s collecting garbage
Algorithm
43×search
random
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%54.5%45.5%0%0%0%0
21.4%11.7%42.9%45.5%0%0%0%1
37.4%20.4%34.1%45.5%0%0%0%2
48.7%26.2%27.7%45.5%0%0.6%0%3
57.7%30.7%22.6%45.5%0%1.2%0%4
71.2%37.7%15.3%45.5%0%1.6%0%5
72.9%38.4%14.3%45.5%0%1.8%0%6
77.9%40.7%11.6%45.5%0%2.2%0%7
81.5%42.6%9.7%45.5%0%2.3%0%8
84.1%43.8%8.3%45.5%0%2.5%0%9
86.2%44.6%7.2%45.5%0%2.7%0%10
88.2%45.6%6.1%45.5%0%2.8%0%11
89.1%45.9%5.6%45.5%0%2.9%0%12
Compiler

Compiled 1 402 to 721 computations (48.6% saved)

bsearch2.8s (1.7%)

Memory
64.2MiB live, 2 986.3MiB allocated; 516ms collecting garbage
Algorithm
149×binary-search
89×left-value
Stop Event
140×narrow-enough
predicate-same
predicate-failed
Samples
958.0ms9 770×0valid
494.0ms1 224×1valid
145.0ms395×2valid
95.0ms1 260×0invalid
14.0ms19×3valid
9.0ms72×0exit
Compiler

Compiled 109 205 to 60 877 computations (44.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 1.3s
ival-mult: 382.0ms (30.3% of total)
ival-div: 143.0ms (11.4% of total)
ival-pow: 142.0ms (11.3% of total)
ival-sub: 128.0ms (10.2% of total)
ival-exp: 124.0ms (9.8% of total)
ival-add: 114.0ms (9.1% of total)
ival-neg: 87.0ms (6.9% of total)
adjust: 82.0ms (6.5% of total)
ival-sqrt: 26.0ms (2.1% of total)
exact: 10.0ms (0.8% of total)
ival-true: 9.0ms (0.7% of total)
ival-assert: 5.0ms (0.4% of total)
ival-expm1: 4.0ms (0.3% of total)
const: 3.0ms (0.2% of total)
ival-pi: 2.0ms (0.2% of total)

simplify2.0s (1.2%)

Memory
10.9MiB live, 2 205.8MiB allocated; 402ms collecting garbage
Stop Event
32×node limit
10×saturated

start2.0ms (0%)

Memory
6.2MiB live, 6.2MiB allocated; 0ms collecting garbage

end0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated; 0ms collecting garbage

Profiling

Loading profile data...