Quadratic roots, medium range

Time bar (total: 4.5s)

analyze101.0ms (2.2%)

Memory
-7.7MiB live, 41.2MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%0%100%0%0%0%0
0%0%0%100%0%0%0%1
0%0%0%100%0%0%0%2
0%0%0%100%0%0%0%3
0%0%0%100%0%0%0%4
7.1%0%0%100%0%0%0%5
20.8%0%0%100%0%0%0%6
29.5%0%0%100%0%0%0%7
37.5%0%0%100%0%0%0%8
50.6%0%0%100%0%0%0%9
58.2%0%0%100%0%0%0%10
63.3%0%0%100%0%0%0%11
72.3%0%0%100%0%0%0%12
Compiler

Compiled 40 to 31 computations (22.5% saved)

sample4.3s (94.5%)

Memory
55.6MiB live, 1 361.7MiB allocated
Samples
1.2s6 094×1valid-baseline
846.0ms6 094×1valid-rival
445.0ms6 094×1valid-sollya
255.0ms2 161×0valid-baseline
171.0ms2 161×0valid-rival
154.0ms2 161×0valid-sollya
0.0ms1valid-rival+baseline-real
Precisions
Click to see Rival histograms. Total time spent on operations: 801.0ms
ival-mult: 294.0ms (36.7% of total)
ival-sqrt: 105.0ms (13.1% of total)
ival-div: 97.0ms (12.1% of total)
adjust: 81.0ms (10.1% of total)
ival-neg: 73.0ms (9.1% of total)
ival-add: 67.0ms (8.4% of total)
ival-sub: 65.0ms (8.1% of total)
ival-true: 8.0ms (1% of total)
...in/eval/compile.rkt:76:19: 7.0ms (0.9% of total)
ival-assert: 3.0ms (0.4% of total)
Precisions
Click to see Base histograms. Total time spent on operations: 935.0ms
ival-mult: 417.0ms (44.6% of total)
ival-sqrt: 125.0ms (13.4% of total)
ival-div: 118.0ms (12.6% of total)
ival-add: 84.0ms (9% of total)
ival-neg: 83.0ms (8.9% of total)
ival-sub: 81.0ms (8.7% of total)
const: 28.0ms (3% of total)
Bogosity

preprocess119.0ms (2.6%)

Memory
7.8MiB live, 23.0MiB allocated
Algorithm
egg-herbie
Rules
844×div-sub
698×fmm-def
688×fma-define
507×sub-neg
394×associate-/r*
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
065779
1186671
2513671
31362671
43697671
57736671
Stop Event
node limit
Calls
Call 1
Inputs
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) 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) 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) (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 (*.f64 #s(literal 4 binary64) 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) a) (neg.f64 c))))) (*.f64 #s(literal 2 binary64) a))
(neg.f64 (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) (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 (*.f64 #s(literal 4 binary64) a) c)))) (*.f64 #s(literal 2 binary64) a)))
(neg.f64 (/.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) a)))
(/.f64 (+.f64 (neg.f64 a) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 (*.f64 #s(literal 4 binary64) b) c)))) (*.f64 #s(literal 2 binary64) b))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) c) a)))) (*.f64 #s(literal 2 binary64) c))
(/.f64 (+.f64 (neg.f64 c) (sqrt.f64 (-.f64 (*.f64 c c) (*.f64 (*.f64 #s(literal 4 binary64) a) b)))) (*.f64 #s(literal 2 binary64) a))
Outputs
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) 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) a) c)))) (*.f64 a #s(literal 2 binary64)))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a #s(literal -4 binary64))))) 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 b b (*.f64 a (*.f64 c #s(literal -4 binary64))))) b) (*.f64 a #s(literal 2 binary64)))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) 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) a) c)))) (*.f64 a #s(literal 2 binary64)))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a #s(literal -4 binary64))))) 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 b b (*.f64 a (*.f64 c #s(literal -4 binary64))))) b) (*.f64 a #s(literal 2 binary64)))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) (neg.f64 a)) c)))) (*.f64 #s(literal 2 binary64) (neg.f64 a)))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 #s(literal 4 binary64) (*.f64 (neg.f64 a) c))))) (neg.f64 (*.f64 a #s(literal 2 binary64))))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 #s(literal 4 binary64) (*.f64 a c)))) b) (*.f64 a #s(literal -2 binary64)))
(/.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 #s(literal 4 binary64) (*.f64 a c))))) (*.f64 a #s(literal 2 binary64)))
(/.f64 (-.f64 b (sqrt.f64 (fma.f64 #s(literal 4 binary64) (*.f64 a c) (*.f64 b b)))) (*.f64 a #s(literal 2 binary64)))
(/.f64 (+.f64 (neg.f64 (neg.f64 b)) (sqrt.f64 (-.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (*.f64 (*.f64 #s(literal 4 binary64) a) c)))) (*.f64 #s(literal 2 binary64) a))
(/.f64 (+.f64 b (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c)))) (*.f64 a #s(literal 2 binary64)))
(/.f64 (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a #s(literal -4 binary64)))))) (*.f64 a #s(literal 2 binary64)))
(*.f64 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c #s(literal -4 binary64)) (*.f64 b b)))) a) #s(literal 1/2 binary64))
(/.f64 (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c #s(literal -4 binary64)))))) (*.f64 a #s(literal 2 binary64)))
(/.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) 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 (sqrt.f64 (fma.f64 b b (*.f64 #s(literal 4 binary64) (*.f64 a c)))) b) (*.f64 a #s(literal 2 binary64)))
(*.f64 #s(literal -1/2 binary64) (/.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 #s(literal 4 binary64) (*.f64 a c))))) a))
(*.f64 (/.f64 (-.f64 b (sqrt.f64 (fma.f64 #s(literal 4 binary64) (*.f64 a c) (*.f64 b b)))) a) #s(literal -1/2 binary64))
(neg.f64 (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) (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 (sqrt.f64 (fma.f64 b b (*.f64 #s(literal 4 binary64) (*.f64 a c)))) b) (*.f64 a #s(literal 2 binary64)))
(*.f64 #s(literal -1/2 binary64) (/.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 #s(literal 4 binary64) (*.f64 a c))))) a))
(*.f64 (/.f64 (-.f64 b (sqrt.f64 (fma.f64 #s(literal 4 binary64) (*.f64 a c) (*.f64 b b)))) a) #s(literal -1/2 binary64))
(neg.f64 (/.f64 (+.f64 (neg.f64 (neg.f64 b)) (sqrt.f64 (-.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (*.f64 (*.f64 #s(literal 4 binary64) a) c)))) (*.f64 #s(literal 2 binary64) a)))
(/.f64 (+.f64 b (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c)))) (neg.f64 (*.f64 a #s(literal 2 binary64))))
(/.f64 (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a #s(literal -4 binary64)))))) (*.f64 a #s(literal -2 binary64)))
(*.f64 #s(literal -1/2 binary64) (/.f64 (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a #s(literal -4 binary64)))))) a))
(*.f64 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c #s(literal -4 binary64)) (*.f64 b b)))) a) #s(literal -1/2 binary64))
(*.f64 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c #s(literal -4 binary64)))))) a) #s(literal -1/2 binary64))
(neg.f64 (/.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) a)))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 #s(literal 4 binary64) (*.f64 (neg.f64 a) c))))) (neg.f64 (*.f64 a #s(literal 2 binary64))))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 #s(literal 4 binary64) (*.f64 a c)))) b) (*.f64 a #s(literal -2 binary64)))
(/.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 #s(literal 4 binary64) (*.f64 a c))))) (*.f64 a #s(literal 2 binary64)))
(/.f64 (-.f64 b (sqrt.f64 (fma.f64 #s(literal 4 binary64) (*.f64 a c) (*.f64 b b)))) (*.f64 a #s(literal 2 binary64)))
(/.f64 (+.f64 (neg.f64 a) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 (*.f64 #s(literal 4 binary64) 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 (sqrt.f64 (fma.f64 a a (*.f64 c (*.f64 b #s(literal -4 binary64))))) a) (*.f64 b #s(literal 2 binary64)))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 b #s(literal -4 binary64)) (*.f64 a a))) a) (*.f64 b #s(literal 2 binary64)))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 b (*.f64 c #s(literal -4 binary64)) (*.f64 a a))) a) (*.f64 b #s(literal 2 binary64)))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) c) a)))) (*.f64 #s(literal 2 binary64) c))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 #s(literal 4 binary64) (*.f64 c a))))) (*.f64 c #s(literal 2 binary64)))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a #s(literal -4 binary64))))) b) (*.f64 c #s(literal 2 binary64)))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c #s(literal -4 binary64)) (*.f64 b b))) b) (*.f64 c #s(literal 2 binary64)))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c #s(literal -4 binary64))))) b) (*.f64 c #s(literal 2 binary64)))
(/.f64 (+.f64 (neg.f64 c) (sqrt.f64 (-.f64 (*.f64 c c) (*.f64 (*.f64 #s(literal 4 binary64) a) b)))) (*.f64 #s(literal 2 binary64) a))
(/.f64 (+.f64 (neg.f64 c) (sqrt.f64 (-.f64 (*.f64 c c) (*.f64 b (*.f64 #s(literal 4 binary64) a))))) (*.f64 a #s(literal 2 binary64)))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 c c (*.f64 b (*.f64 a #s(literal -4 binary64))))) c) (*.f64 a #s(literal 2 binary64)))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 b (*.f64 a #s(literal -4 binary64)) (*.f64 c c))) c) (*.f64 a #s(literal 2 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)

prune5.0ms (0.1%)

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

Compiled 40 to 28 computations (30% saved)

simplify3.0ms (0.1%)

Memory
0.6MiB live, 0.6MiB allocated
Algorithm
egg-herbie
Rules
*-commutative
+-commutative
sub-neg
neg-sub0
neg-mul-1
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02169
13465
25365
36465
47265
57565
Stop Event
saturated
Calls
Call 1
Inputs
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c)))) (*.f64 #s(literal 2 binary64) a))
Outputs
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) 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) a) c)))) (*.f64 a #s(literal 2 binary64)))
(/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c))) b) (*.f64 a #s(literal 2 binary64)))

soundness0.0ms (0%)

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

Compiled 19 to 13 computations (31.6% saved)

preprocess21.0ms (0.5%)

Memory
11.8MiB live, 27.0MiB allocated
Compiler

Compiled 78 to 54 computations (30.8% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...