quadm (p42, negative)

Time bar (total: 4.9s)

analyze123.0ms (2.5%)

Memory
5.0MiB live, 52.3MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
25%25%74.9%0.1%0%0%0%4
37.5%37.4%62.4%0.1%0%0%0%5
37.5%37.4%62.4%0.1%0%0%0%6
40%37.4%56.2%0.1%0%6.2%0%7
48.3%45.2%48.4%0.1%0%6.2%0%8
53%48.4%42.9%0.1%0%8.6%0%9
58.1%50.3%36.3%0.1%0%13.3%0%10
66.1%56.8%29.1%0.1%0%14%0%11
70.4%58.8%24.7%0.1%0%16.4%0%12
Compiler

Compiled 40 to 31 computations (22.5% saved)

sample4.5s (92%)

Memory
53.5MiB live, 1 583.5MiB allocated
Samples
515.0ms1 068×2336valid-baseline
469.0ms5 565×73valid-baseline
423.0ms5 565×73valid-sollya
398.0ms5 565×73valid-rival
303.0ms740×1168valid-baseline
206.0ms1 068×2336valid-rival
153.0ms1 068×2336valid-sollya
136.0ms403×584valid-baseline
113.0ms740×1168valid-rival
105.0ms185×4672valid-baseline
92.0ms740×1168valid-sollya
55.0ms403×584valid-rival
45.0ms193×292valid-baseline
43.0ms185×4672valid-rival
41.0ms403×584valid-sollya
30.0ms185×4672valid-sollya
26.0ms193×292valid-rival
16.0ms101×146valid-baseline
15.0ms193×292valid-sollya
14.0ms101×146valid-rival
8.0ms101×146valid-sollya
0.0ms1168valid-sollya+baseline-real
Precisions
Click to see Rival histograms. Total time spent on operations: 716.0ms
ival-mult: 257.0ms (35.9% of total)
ival-sqrt: 121.0ms (16.9% of total)
ival-sub: 115.0ms (16.1% of total)
ival-div: 87.0ms (12.2% of total)
ival-neg: 67.0ms (9.4% of total)
adjust: 52.0ms (7.3% of total)
ival-true: 8.0ms (1.1% of total)
...in/eval/compile.rkt:110:19: 7.0ms (1% of total)
ival-assert: 3.0ms (0.4% of total)
Precisions
Click to see Base histograms. Total time spent on operations: 1.1s
ival-mult: 462.0ms (43.9% of total)
ival-sub: 183.0ms (17.4% of total)
ival-sqrt: 147.0ms (14% of total)
ival-div: 137.0ms (13% of total)
ival-neg: 93.0ms (8.8% of total)
const: 30.0ms (2.8% of total)
Bogosity

preprocess237.0ms (4.8%)

Memory
-6.5MiB live, 25.6MiB allocated
Algorithm
egg-herbie
Rules
1 892×fmm-def
379×fma-define
366×sub-neg
364×div-sub
282×associate-/r*
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
067779
1216723
2635691
32137671
45143671
56383671
66739671
76871671
86910671
97064671
Stop Event
node limit
Calls
Call 1
Inputs
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 #s(literal 4 binary64) (*.f64 a c))))) (*.f64 #s(literal 2 binary64) a))
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 #s(literal 4 binary64) (*.f64 a c))))) (*.f64 #s(literal 2 binary64) a))
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 #s(literal 4 binary64) (*.f64 (neg.f64 a) c))))) (*.f64 #s(literal 2 binary64) (neg.f64 a)))
(/.f64 (-.f64 (neg.f64 (neg.f64 b)) (sqrt.f64 (-.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (*.f64 #s(literal 4 binary64) (*.f64 a c))))) (*.f64 #s(literal 2 binary64) a))
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 #s(literal 4 binary64) (*.f64 a (neg.f64 c)))))) (*.f64 #s(literal 2 binary64) a))
(neg.f64 (/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 #s(literal 4 binary64) (*.f64 (neg.f64 a) c))))) (*.f64 #s(literal 2 binary64) (neg.f64 a))))
(neg.f64 (/.f64 (-.f64 (neg.f64 (neg.f64 b)) (sqrt.f64 (-.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (*.f64 #s(literal 4 binary64) (*.f64 a c))))) (*.f64 #s(literal 2 binary64) a)))
(neg.f64 (/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 #s(literal 4 binary64) (*.f64 a (neg.f64 c)))))) (*.f64 #s(literal 2 binary64) a)))
(/.f64 (-.f64 (neg.f64 a) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 #s(literal 4 binary64) (*.f64 b c))))) (*.f64 #s(literal 2 binary64) b))
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 #s(literal 4 binary64) (*.f64 c a))))) (*.f64 #s(literal 2 binary64) c))
(/.f64 (-.f64 (neg.f64 c) (sqrt.f64 (-.f64 (*.f64 c c) (*.f64 #s(literal 4 binary64) (*.f64 a b))))) (*.f64 #s(literal 2 binary64) a))
Outputs
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 #s(literal 4 binary64) (*.f64 a c))))) (*.f64 #s(literal 2 binary64) a))
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) c) a)))) (*.f64 a #s(literal 2 binary64)))
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 #s(literal -4 binary64) a))))) (*.f64 a #s(literal 2 binary64)))
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (fma.f64 a (*.f64 c #s(literal -4 binary64)) (*.f64 b b)))) (*.f64 a #s(literal 2 binary64)))
(/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c #s(literal -4 binary64)) (*.f64 b b)))) (*.f64 a #s(literal -2 binary64)))
(*.f64 (/.f64 #s(literal -1/2 binary64) a) (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c #s(literal -4 binary64)) (*.f64 b b)))))
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 #s(literal 4 binary64) (*.f64 a c))))) (*.f64 #s(literal 2 binary64) a))
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) c) a)))) (*.f64 a #s(literal 2 binary64)))
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 #s(literal -4 binary64) a))))) (*.f64 a #s(literal 2 binary64)))
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (fma.f64 a (*.f64 c #s(literal -4 binary64)) (*.f64 b b)))) (*.f64 a #s(literal 2 binary64)))
(/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c #s(literal -4 binary64)) (*.f64 b b)))) (*.f64 a #s(literal -2 binary64)))
(*.f64 (/.f64 #s(literal -1/2 binary64) a) (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c #s(literal -4 binary64)) (*.f64 b b)))))
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 #s(literal 4 binary64) (*.f64 (neg.f64 a) c))))) (*.f64 #s(literal 2 binary64) (neg.f64 a)))
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) (neg.f64 c))))) (*.f64 #s(literal 2 binary64) (neg.f64 a)))
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 #s(literal 4 binary64) c))))) (*.f64 a #s(literal -2 binary64)))
(/.f64 (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 #s(literal 4 binary64) c))))) (*.f64 a #s(literal 2 binary64)))
(*.f64 (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 #s(literal 4 binary64) c))))) (/.f64 #s(literal 1/2 binary64) a))
(/.f64 (-.f64 (neg.f64 (neg.f64 b)) (sqrt.f64 (-.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (*.f64 #s(literal 4 binary64) (*.f64 a c))))) (*.f64 #s(literal 2 binary64) a))
(/.f64 (-.f64 b (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) c) a)))) (*.f64 a #s(literal 2 binary64)))
(/.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 #s(literal -4 binary64) a))))) (*.f64 a #s(literal 2 binary64)))
(/.f64 (-.f64 b (sqrt.f64 (fma.f64 a (*.f64 c #s(literal -4 binary64)) (*.f64 b b)))) (*.f64 a #s(literal 2 binary64)))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c #s(literal -4 binary64)) (*.f64 b b))) b) (*.f64 a #s(literal -2 binary64)))
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c #s(literal -4 binary64)) (*.f64 b b))) b) (/.f64 #s(literal -1/2 binary64) a))
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 #s(literal 4 binary64) (*.f64 a (neg.f64 c)))))) (*.f64 #s(literal 2 binary64) a))
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) (neg.f64 c))))) (*.f64 a #s(literal 2 binary64)))
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 #s(literal 4 binary64) c))))) (*.f64 a #s(literal 2 binary64)))
(/.f64 (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 #s(literal 4 binary64) c))))) (*.f64 a #s(literal -2 binary64)))
(*.f64 (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 #s(literal 4 binary64) c))))) (/.f64 #s(literal -1/2 binary64) a))
(neg.f64 (/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 #s(literal 4 binary64) (*.f64 (neg.f64 a) c))))) (*.f64 #s(literal 2 binary64) (neg.f64 a))))
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) (neg.f64 c))))) (*.f64 a #s(literal 2 binary64)))
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 #s(literal 4 binary64) c))))) (*.f64 a #s(literal 2 binary64)))
(/.f64 (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 #s(literal 4 binary64) c))))) (*.f64 a #s(literal -2 binary64)))
(*.f64 (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 #s(literal 4 binary64) c))))) (/.f64 #s(literal -1/2 binary64) a))
(neg.f64 (/.f64 (-.f64 (neg.f64 (neg.f64 b)) (sqrt.f64 (-.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (*.f64 #s(literal 4 binary64) (*.f64 a c))))) (*.f64 #s(literal 2 binary64) a)))
(/.f64 (-.f64 b (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) c) a)))) (*.f64 #s(literal 2 binary64) (neg.f64 a)))
(/.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 #s(literal -4 binary64) a))))) (*.f64 a #s(literal -2 binary64)))
(*.f64 #s(literal 1/2 binary64) (/.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c #s(literal -4 binary64)) (*.f64 b b))) b) a))
(*.f64 (/.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c #s(literal -4 binary64)) (*.f64 b b))) b) a) #s(literal 1/2 binary64))
(*.f64 (-.f64 b (sqrt.f64 (fma.f64 a (*.f64 c #s(literal -4 binary64)) (*.f64 b b)))) (/.f64 #s(literal -1/2 binary64) a))
(neg.f64 (/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 #s(literal 4 binary64) (*.f64 a (neg.f64 c)))))) (*.f64 #s(literal 2 binary64) a)))
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) (neg.f64 c))))) (*.f64 #s(literal 2 binary64) (neg.f64 a)))
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 #s(literal 4 binary64) c))))) (*.f64 a #s(literal -2 binary64)))
(/.f64 (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 #s(literal 4 binary64) c))))) (*.f64 a #s(literal 2 binary64)))
(*.f64 (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 #s(literal 4 binary64) c))))) (/.f64 #s(literal 1/2 binary64) a))
(/.f64 (-.f64 (neg.f64 a) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 #s(literal 4 binary64) (*.f64 b c))))) (*.f64 #s(literal 2 binary64) b))
(/.f64 (-.f64 (neg.f64 a) (sqrt.f64 (+.f64 (*.f64 a a) (*.f64 #s(literal -4 binary64) (*.f64 b c))))) (*.f64 b #s(literal 2 binary64)))
(/.f64 (-.f64 (neg.f64 a) (sqrt.f64 (fma.f64 a a (*.f64 (*.f64 #s(literal -4 binary64) b) c)))) (*.f64 b #s(literal 2 binary64)))
(/.f64 (-.f64 (neg.f64 a) (sqrt.f64 (fma.f64 a a (*.f64 c (*.f64 b #s(literal -4 binary64)))))) (*.f64 b #s(literal 2 binary64)))
(/.f64 (/.f64 (+.f64 a (sqrt.f64 (fma.f64 a a (*.f64 c (*.f64 b #s(literal -4 binary64)))))) #s(literal -2 binary64)) b)
(*.f64 (/.f64 #s(literal -1/2 binary64) b) (+.f64 a (sqrt.f64 (fma.f64 a a (*.f64 c (*.f64 b #s(literal -4 binary64)))))))
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 #s(literal 4 binary64) (*.f64 c a))))) (*.f64 #s(literal 2 binary64) c))
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) c) a)))) (*.f64 c #s(literal 2 binary64)))
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 #s(literal -4 binary64) a))))) (*.f64 c #s(literal 2 binary64)))
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (fma.f64 a (*.f64 c #s(literal -4 binary64)) (*.f64 b b)))) (*.f64 c #s(literal 2 binary64)))
(/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c #s(literal -4 binary64)) (*.f64 b b)))) (*.f64 c #s(literal -2 binary64)))
(*.f64 (/.f64 #s(literal -1/2 binary64) c) (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c #s(literal -4 binary64)) (*.f64 b b)))))
(/.f64 (-.f64 (neg.f64 c) (sqrt.f64 (-.f64 (*.f64 c c) (*.f64 #s(literal 4 binary64) (*.f64 a b))))) (*.f64 #s(literal 2 binary64) a))
(/.f64 (-.f64 (neg.f64 c) (sqrt.f64 (+.f64 (*.f64 c c) (*.f64 #s(literal -4 binary64) (*.f64 b a))))) (*.f64 a #s(literal 2 binary64)))
(/.f64 (-.f64 (neg.f64 c) (sqrt.f64 (fma.f64 c c (*.f64 (*.f64 #s(literal -4 binary64) a) b)))) (*.f64 a #s(literal 2 binary64)))
(/.f64 (-.f64 (neg.f64 c) (sqrt.f64 (fma.f64 c c (*.f64 b (*.f64 a #s(literal -4 binary64)))))) (*.f64 a #s(literal 2 binary64)))
(/.f64 (/.f64 (+.f64 c (sqrt.f64 (fma.f64 c c (*.f64 b (*.f64 a #s(literal -4 binary64)))))) #s(literal -2 binary64)) a)
(*.f64 (/.f64 #s(literal -1/2 binary64) a) (+.f64 c (sqrt.f64 (fma.f64 c c (*.f64 b (*.f64 a #s(literal -4 binary64)))))))
Compiler

Compiled 20 to 14 computations (30% saved)

eval0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated
Compiler

Compiled 3 to 3 computations (0% saved)

prune1.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
55.1%
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 #s(literal 4 binary64) (*.f64 a c))))) (*.f64 #s(literal 2 binary64) a))
Compiler

Compiled 40 to 28 computations (30% saved)

simplify4.0ms (0.1%)

Memory
0.9MiB live, 0.9MiB allocated
Algorithm
egg-herbie
Rules
14×*-commutative
14×+-commutative
13×sub-neg
11×neg-sub0
11×neg-mul-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02169
13569
25269
37469
48969
510469
611169
711469
811569
Stop Event
saturated
Calls
Call 1
Inputs
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 #s(literal 4 binary64) (*.f64 a c))))) (*.f64 #s(literal 2 binary64) a))
Outputs
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 #s(literal 4 binary64) (*.f64 a c))))) (*.f64 #s(literal 2 binary64) a))
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 #s(literal 4 binary64) (*.f64 a c))))) (*.f64 a #s(literal 2 binary64)))

soundness0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Stop Event
fuel
Compiler

Compiled 20 to 14 computations (30% saved)

preprocess29.0ms (0.6%)

Memory
4.1MiB live, 35.2MiB allocated
Compiler

Compiled 296 to 112 computations (62.2% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...