Herbie run

Date:Thursday, May 23rd, 2024
Commit:6b737c7e on explanations-trifurcate
Hostname:nightly with Racket 8.11.1
Seed:2024144
Parameters:256 points for 4 iterations
Flags:
localize:costslocalize:errorsreduce:regimesreduce:avg-errorreduce:binary-searchreduce:branch-expressionssetup:simplifysetup:searchrules:arithmeticrules:polynomialsrules:fractionsrules:exponentsrules:trigonometryrules:hyperbolicrules:numericsrules:specialrules:boolsrules:branchesgenerate:rrgenerate:taylorgenerate:simplifygenerate:proofs
default

Time bar (total: 17.6min)

sample5.7min (32.5%)

Results
2.0min25860×5exit
1.2min130062×1valid
43.4s270362×0valid
22.9s8195×3valid
18.1s19320×2valid
14.9s49623×0unsamplable
7.4s1371×4valid
3.3s11263×1invalid
3.3s18712×0invalid
1.5s1725×2invalid
101.0ms925×0precondition
47.0ms64×1unsamplable
12.0ms20×3invalid
4.0ms5valid
Precisions
Click to see histograms. Total time spent on operations: 4.5min
ival-pow: 1.9min (42.6% of total)
ival-mult: 26.1s (9.7% of total)
ival-sin: 21.8s (8.1% of total)
ival-cos: 21.6s (8% of total)
ival-div: 17.4s (6.5% of total)
backward-pass: 16.9s (6.3% of total)
ival-add: 9.8s (3.6% of total)
ival-sub: 8.7s (3.2% of total)
ival-log: 6.2s (2.3% of total)
ival-exp: 6.2s (2.3% of total)
ival-sqrt: 4.8s (1.8% of total)
ival-neg: 3.9s (1.4% of total)
ival-<: 2.6s (1% of total)
...c/correct-round.rkt:121:19: 2.6s (1% of total)
const: 1.0s (0.4% of total)
ival-atan2: 975.0ms (0.4% of total)
ival-acos: 709.0ms (0.3% of total)
ival-pi: 659.0ms (0.2% of total)
ival-tan: 633.0ms (0.2% of total)
ival-and: 447.0ms (0.2% of total)
ival-atan: 441.0ms (0.2% of total)
ival-<=: 301.0ms (0.1% of total)
ival-cbrt: 291.0ms (0.1% of total)
ival-asin: 232.0ms (0.1% of total)
ival-fabs: 179.0ms (0.1% of total)
ival-==: 2.0ms (0% of total)
ival-or: 0.0ms (0% of total)
Bogosity

simplify2.7min (15.6%)

Algorithm
447×egg-herbie
Rules
184460×fma-define
119337×fma-neg
103408×distribute-lft-in
90298×*-commutative
90032×distribute-rgt-in
Stop Event
125×saturated
321×node limit
unsound
Counts
146079 → 119931

soundness1.9min (11%)

Rules
90542×fma-define
64640×log1p-expm1-u
52061×*-commutative
52027×distribute-lft-in
50978×fma-neg
Stop Event
15×saturated
44×fuel
256×node limit
unsound
done
Compiler

Compiled 66302 to 19539 computations (70.5% saved)

localize1.5min (8.7%)

Results
23.0s13033×1valid
18.4s1875×5exit
12.8s27557×0valid
8.1s2766×2valid
3.9s4595×0invalid
3.1s507×3valid
1.5s300×1invalid
457.0ms47×4valid
5.0ms0unsamplable
Compiler

Compiled 91642 to 7558 computations (91.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 48.1s
ival-mult: 8.0s (16.5% of total)
ival-pow: 7.4s (15.3% of total)
ival-sin: 7.4s (15.3% of total)
ival-cos: 6.7s (13.9% of total)
backward-pass: 4.5s (9.3% of total)
ival-div: 3.7s (7.8% of total)
ival-add: 1.6s (3.4% of total)
...c/correct-round.rkt:121:19: 1.2s (2.5% of total)
ival-sub: 1.1s (2.3% of total)
ival-log: 1.1s (2.2% of total)
ival-sqrt: 987.0ms (2.1% of total)
ival-fma: 744.0ms (1.5% of total)
ival-exp: 572.0ms (1.2% of total)
ival-neg: 521.0ms (1.1% of total)
ival-hypot: 471.0ms (1% of total)
ival-log1p: 402.0ms (0.8% of total)
ival-atan2: 389.0ms (0.8% of total)
ival-cbrt: 369.0ms (0.8% of total)
const: 227.0ms (0.5% of total)
ival-atan: 187.0ms (0.4% of total)
ival-acos: 149.0ms (0.3% of total)
ival-tan: 145.0ms (0.3% of total)
ival-expm1: 130.0ms (0.3% of total)
ival-fabs: 94.0ms (0.2% of total)
ival-pi: 90.0ms (0.2% of total)
ival-asin: 42.0ms (0.1% of total)

regimes59.8s (5.7%)

Counts
25426 → 923
Calls

155 calls:

3.8s
phi2
3.5s
phi1
3.4s
lambda2
3.2s
lambda1
3.1s
(-.f64 lambda1 lambda2)
Compiler

Compiled 13933 to 8964 computations (35.7% saved)

rewrite53.5s (5.1%)

Algorithm
197×batch-egg-rewrite
Rules
127268×log1p-expm1-u
92081×expm1-log1p-u
52059×pow1
47892×add-exp-log
45702×add-log-exp
Stop Event
193×node limit
unsound
Counts
2994 → 77916

prune52.3s (5%)

Counts
189937 → 8439
Compiler

Compiled 588311 to 286067 computations (51.4% saved)

eval42.7s (4.1%)

Compiler

Compiled 8679022 to 838926 computations (90.3% saved)

series38.9s (3.7%)

Counts
2994 → 68163
Calls

17781 calls:

TimeVariablePointExpression
881.0ms
b
@inf
(log (+ 1 (* 180 (/ (atan (/ (- (* (pow (sqrt (+ (* (* a (cos (* angle (* (PI) 1/180)))) (* a (cos (* angle (* (PI) 1/180))))) (* (* b (sin (* angle (* (PI) 1/180)))) (* b (sin (* angle (* (PI) 1/180))))))) 2) (pow y-scale -2)) (+ (* (pow (sqrt (+ (* (* a (sin (* angle (* (PI) 1/180)))) (* a (sin (* angle (* (PI) 1/180))))) (* (* (cos (* angle (* (PI) 1/180))) b) (* (cos (* angle (* (PI) 1/180))) b)))) 2) (pow x-scale -2)) (sqrt (+ (* (- (* (pow (sqrt (+ (* (* a (sin (* angle (* (PI) 1/180)))) (* a (sin (* angle (* (PI) 1/180))))) (* (* (cos (* angle (* (PI) 1/180))) b) (* (cos (* angle (* (PI) 1/180))) b)))) 2) (pow x-scale -2)) (* (pow (sqrt (+ (* (* a (cos (* angle (* (PI) 1/180)))) (* a (cos (* angle (* (PI) 1/180))))) (* (* b (sin (* angle (* (PI) 1/180)))) (* b (sin (* angle (* (PI) 1/180))))))) 2) (pow y-scale -2))) (- (* (pow (sqrt (+ (* (* a (sin (* angle (* (PI) 1/180)))) (* a (sin (* angle (* (PI) 1/180))))) (* (* (cos (* angle (* (PI) 1/180))) b) (* (cos (* angle (* (PI) 1/180))) b)))) 2) (pow x-scale -2)) (* (pow (sqrt (+ (* (* a (cos (* angle (* (PI) 1/180)))) (* a (cos (* angle (* (PI) 1/180))))) (* (* b (sin (* angle (* (PI) 1/180)))) (* b (sin (* angle (* (PI) 1/180))))))) 2) (pow y-scale -2)))) (* (* 2 (/ (* (cos (* angle (* (PI) 1/180))) (* (sin (* angle (* (PI) 1/180))) (- (pow b 2) (pow a 2)))) (* y-scale x-scale))) (* 2 (/ (* (cos (* angle (* (PI) 1/180))) (* (sin (* angle (* (PI) 1/180))) (- (pow b 2) (pow a 2)))) (* y-scale x-scale)))))))) (* 2 (/ (* (cos (* angle (* (PI) 1/180))) (* (sin (* angle (* (PI) 1/180))) (- (pow b 2) (pow a 2)))) (* y-scale x-scale))))) (PI)))))
421.0ms
angle
@0
(/ (- (- (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale) (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale)) (sqrt (+ (pow (- (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale) (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale)) 2) (pow (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale) 2)))) (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale))
412.0ms
x-scale
@-inf
(/ (* x-scale (* y-scale (+ (* 2 (/ (* (pow a 2) (pow (sin (* 1/180 (* angle (PI)))) 2)) (pow x-scale 2))) (* 2 (/ (* (pow b 2) (pow (cos (* 1/180 (* angle (PI)))) 2)) (pow x-scale 2)))))) (* (cos (* 1/180 (* angle (PI)))) (* (sin (* 1/180 (* angle (PI)))) (- (pow b 2) (pow a 2)))))
377.0ms
angle
@0
(/ (sqrt (* (* b (* (pow a 2) (neg b))) (* (* 8 (* b (/ (* (pow a 2) (neg b)) (pow (* x-scale y-scale) 2)))) (+ (/ (+ (pow (* a (sin (* angle (/ (PI) 180)))) 2) (pow (* b (cos (* angle (/ (PI) 180)))) 2)) (pow x-scale 2)) (- (/ (+ (pow (* a (cos (* angle (/ (PI) 180)))) 2) (pow (* b (sin (* angle (/ (PI) 180)))) 2)) (pow y-scale 2)) (sqrt (+ (* (- (/ (+ (pow (* a (sin (* angle (/ (PI) 180)))) 2) (pow (* b (cos (* angle (/ (PI) 180)))) 2)) (pow x-scale 2)) (/ (+ (pow (* a (cos (* angle (/ (PI) 180)))) 2) (pow (* b (sin (* angle (/ (PI) 180)))) 2)) (pow y-scale 2))) (- (/ (+ (pow (* a (sin (* angle (/ (PI) 180)))) 2) (pow (* b (cos (* angle (/ (PI) 180)))) 2)) (pow x-scale 2)) (/ (+ (pow (* a (cos (* angle (/ (PI) 180)))) 2) (pow (* b (sin (* angle (/ (PI) 180)))) 2)) (pow y-scale 2)))) (* (* (* 2 (- (pow b 2) (pow a 2))) (/ (* (sin (* angle (/ (PI) 180))) (cos (* angle (/ (PI) 180)))) (* x-scale y-scale))) (* (* 2 (- (pow b 2) (pow a 2))) (/ (* (sin (* angle (/ (PI) 180))) (cos (* angle (/ (PI) 180)))) (* x-scale y-scale))))))))))) (* b (/ (* (pow a 2) (neg b)) (pow (* x-scale y-scale) 2))))
362.0ms
x-scale
@0
(sqrt (* (* 1/4 (* x-scale (sqrt 8))) (* (sqrt 2) (sqrt (+ (* (* a (cos (* 1/180 (* angle (PI))))) (* a (cos (* 1/180 (* angle (PI)))))) (* (* b (sin (* 1/180 (* angle (PI))))) (* b (sin (* 1/180 (* angle (PI)))))))))))

explain25.9s (2.5%)

Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
cos.f64#fsensitivity18392
+.f64#fcancellation173732
sin.f64#fsensitivity16000
sqrt.f64#foflow-rescue13640
-.f64#fcancellation92213
-.f64#fnan-rescue6520
log.f64#fsensitivity5881
/.f64#fo/n5020
/.f64#fo/o3620
/.f64#fu/u3110
*.f64#fn*o2100
/.f64#fu/n2080
exp.f64#fsensitivity15725
sqrt.f64#fuflow-rescue1540
*.f64#fn*u1210
/.f64#fn/o970
cbrt.f64#foflow-rescue870
cbrt.f64#fuflow-rescue390
/.f64#fn/u380
*.f64#fo*u270
*.f64#fu*o250
acos.f64(acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))sensitivity162
pow.f64#fuflow-rescue110
pow.f64#fsensitivity92
log.f64#foflow-rescue60
log.f64(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))uflow-rescue10
(+.f64 (exp.f64 a) (exp.f64 b))underflow1
(exp.f64 a)underflow130
(exp.f64 b)underflow1
sin.f64(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))cancellation10
Confusion
Predicted +Predicted -
+575174
-13076180
Precision
0.8148200623406064
Recall
0.9872961373390557
Confusion?
Predicted +Predicted MaybePredicted -
+57513935
-1307316149
Precision?
0.8122895622895623
Recall?
0.9939914163090129
Freqs
test
numberfreq
06254
14664
21585
3340
4237
5146
661
716
87
92
Total Confusion?
Predicted +Predicted MaybePredicted -
+4201
-207
Precision?
0.9545454545454546
Recall?
0.9767441860465116
Results
5.1s8320×1valid
3.1s15710×0valid
2.7s1930×2valid
1.7s582×3valid
799.0ms82×4valid
Compiler

Compiled 21932 to 3232 computations (85.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 9.0s
ival-sin: 1.8s (19.9% of total)
ival-mult: 1.3s (14.1% of total)
ival-cos: 1.2s (13.7% of total)
ival-div: 1.0s (11.5% of total)
ival-pow: 961.0ms (10.6% of total)
backward-pass: 773.0ms (8.5% of total)
ival-add: 443.0ms (4.9% of total)
ival-sub: 411.0ms (4.5% of total)
ival-log: 287.0ms (3.2% of total)
ival-sqrt: 201.0ms (2.2% of total)
ival-exp: 190.0ms (2.1% of total)
ival-neg: 102.0ms (1.1% of total)
ival-atan2: 72.0ms (0.8% of total)
const: 59.0ms (0.7% of total)
ival-tan: 48.0ms (0.5% of total)
ival-pi: 42.0ms (0.5% of total)
ival-atan: 34.0ms (0.4% of total)
ival-cbrt: 27.0ms (0.3% of total)
ival-acos: 21.0ms (0.2% of total)
ival-fabs: 13.0ms (0.1% of total)
ival-asin: 8.0ms (0.1% of total)

bsearch24.6s (2.3%)

Algorithm
338×binary-search
67×left-value
Stop Event
predicate-same
336×narrow-enough
Results
10.1s10924×1valid
6.0s28506×0valid
2.1s1136×3valid
1.4s1258×2valid
610.0ms48×4valid
230.0ms1921×0invalid
Compiler

Compiled 113169 to 76738 computations (32.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 16.9s
ival-cos: 3.5s (20.6% of total)
ival-sin: 3.3s (19.7% of total)
ival-mult: 3.0s (17.9% of total)
ival-pow: 1.7s (10.3% of total)
ival-div: 1.5s (9.1% of total)
ival-sub: 959.0ms (5.7% of total)
backward-pass: 741.0ms (4.4% of total)
ival-sqrt: 518.0ms (3.1% of total)
ival-add: 463.0ms (2.7% of total)
ival-atan2: 346.0ms (2% of total)
ival-exp: 129.0ms (0.8% of total)
ival-acos: 125.0ms (0.7% of total)
ival-neg: 109.0ms (0.6% of total)
ival-atan: 105.0ms (0.6% of total)
ival-tan: 96.0ms (0.6% of total)
const: 81.0ms (0.5% of total)
ival-pi: 51.0ms (0.3% of total)
ival-log: 40.0ms (0.2% of total)
ival-fabs: 23.0ms (0.1% of total)
ival-asin: 13.0ms (0.1% of total)

analyze23.9s (2.3%)

Algorithm
53×search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%79.4%20.6%0%0%0%0
14.8%11.8%67.6%20.6%0%0%0%1
22.6%17.7%60.4%21%0%0.9%0%2
32.7%24.7%50.8%21.2%0%3.3%0%3
39.8%29.8%45%21.2%0%4%0%4
45.4%33.8%40.6%21.2%0%4.5%0%5
48.4%35.7%38%21.2%0%5.1%0%6
51.8%37.8%35.2%21.2%0%5.7%0.1%7
53.5%38.9%33.8%21.3%0%6%0.1%8
56.4%40.6%31.4%21.3%0%6.6%0.2%9
57.7%41.4%30.3%21.3%0%6.8%0.2%10
59.8%42.7%28.7%21.3%0%7.1%0.3%11
61.3%43.5%27.5%21.3%0%7.5%0.3%12
Compiler

Compiled 1919 to 947 computations (50.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 15.3s
ival-mult: 4.9s (32% of total)
ival-pow: 2.3s (15.1% of total)
ival-cos: 1.6s (10.2% of total)
ival-sin: 1.4s (8.9% of total)
ival-div: 1.1s (7% of total)
ival-add: 853.0ms (5.6% of total)
ival-sub: 852.0ms (5.6% of total)
ival-sqrt: 476.0ms (3.1% of total)
ival-neg: 361.0ms (2.4% of total)
ival-<: 321.0ms (2.1% of total)
...c/correct-round.rkt:121:19: 287.0ms (1.9% of total)
ival-atan2: 180.0ms (1.2% of total)
ival-asin: 99.0ms (0.6% of total)
ival-atan: 98.0ms (0.6% of total)
const: 94.0ms (0.6% of total)
ival-tan: 90.0ms (0.6% of total)
ival-pi: 78.0ms (0.5% of total)
ival-exp: 77.0ms (0.5% of total)
ival-and: 55.0ms (0.4% of total)
ival-log: 52.0ms (0.3% of total)
ival-acos: 38.0ms (0.2% of total)
ival-fabs: 32.0ms (0.2% of total)
backward-pass: 24.0ms (0.2% of total)
ival-cbrt: 17.0ms (0.1% of total)
ival-<=: 5.0ms (0% of total)
ival-==: 1.0ms (0% of total)
ival-or: 0.0ms (0% of total)

preprocess16.3s (1.5%)

Algorithm
52×egg-herbie
Rules
32328×fma-define
19274×fma-neg
13234×div-sub
11584×unsub-neg
11427×sub-neg
Stop Event
22×saturated
30×node limit
Compiler

Compiled 56360 to 20620 computations (63.4% saved)

end0.0ms (0%)

Profiling

Loading profile data...