Details

Time bar (total: 4.9s)

analyze1.1s (22.8%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.8%0.2%0%0%0%0
0%0%99.8%0.2%0%0%0%1
0%0%99.8%0.2%0%0%0%2
0%0%99.8%0.2%0%0%0%3
0%0%99.8%0.2%0%0%0%4
0%0%99.8%0.2%0%0%0%5
0%0%99.8%0.2%0%0%0%6
0%0%99.8%0.2%0%0%0%7
0%0%99.8%0.2%0%0%0%8
6.3%6.2%93.6%0.2%0%0%0%9
9.4%9.4%90.4%0.2%0%0%0%10
13%12.5%83.4%0.2%3.9%0%0%11
19.6%18.7%76.8%0.2%4.3%0%0%12
Compiler

Compiled 12 to 8 computations (33.3% saved)

sample2.8s (56.4%)

Results
2.2s8256×body256valid
552.0ms2120×body256infinite
Bogosity

preprocess13.0ms (0.3%)

Algorithm
egg-herbie
Rules
12×rational.json-simplify-2
12×rational.json-simplify-1
swap-z-t
swap-x-y
trig.json-simplify-45
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
023133
132133
044
144
Stop Event
unsound
saturated
Calls
Call 1
Inputs
0
1
2
3
Outputs
0
1
0
2
3
2
Call 2
Inputs
(+.f64 (*.f64 x y) (*.f64 z t))
(+.f64 (*.f64 y x) (*.f64 z t))
(+.f64 (*.f64 z y) (*.f64 x t))
(+.f64 (*.f64 t y) (*.f64 z x))
(+.f64 (*.f64 x z) (*.f64 y t))
(+.f64 (*.f64 x t) (*.f64 z y))
(+.f64 (*.f64 x y) (*.f64 t z))
Outputs
(+.f64 (*.f64 x y) (*.f64 z t))
(+.f64 (*.f64 y x) (*.f64 z t))
(+.f64 (*.f64 x y) (*.f64 z t))
(+.f64 (*.f64 z y) (*.f64 x t))
(+.f64 (*.f64 y z) (*.f64 x t))
(+.f64 (*.f64 t y) (*.f64 z x))
(+.f64 (*.f64 y t) (*.f64 x z))
(+.f64 (*.f64 x z) (*.f64 y t))
(+.f64 (*.f64 y t) (*.f64 x z))
(+.f64 (*.f64 x t) (*.f64 z y))
(+.f64 (*.f64 y z) (*.f64 x t))
(+.f64 (*.f64 x y) (*.f64 t z))
(+.f64 (*.f64 x y) (*.f64 z t))
Symmetry

(sort x y)

(sort z t)

Compiler

Compiled 15 to 11 computations (26.7% saved)

simplify24.0ms (0.5%)

Algorithm
egg-herbie
Rules
rational.json-simplify-2
rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0919
11219
Stop Event
saturated
Counts
1 → 1
Calls
Call 1
Inputs
(+.f64 (*.f64 x y) (*.f64 z t))
Outputs
(+.f64 (*.f64 x y) (*.f64 z t))

eval1.0ms (0%)

Compiler

Compiled 11 to 7 computations (36.4% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.0b
Counts
2 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 (*.f64 x y) (*.f64 z t))
Compiler

Compiled 11 to 7 computations (36.4% saved)

localize13.0ms (0.3%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 x y) (*.f64 z t))
Compiler

Compiled 21 to 7 computations (66.7% saved)

series5.0ms (0.1%)

Counts
1 → 48
Calls

12 calls:

TimeVariablePointExpression
1.0ms
z
@0
(+.f64 (*.f64 x y) (*.f64 z t))
1.0ms
x
@0
(+.f64 (*.f64 x y) (*.f64 z t))
0.0ms
x
@-inf
(+.f64 (*.f64 x y) (*.f64 z t))
0.0ms
x
@inf
(+.f64 (*.f64 x y) (*.f64 z t))
0.0ms
y
@0
(+.f64 (*.f64 x y) (*.f64 z t))

rewrite139.0ms (2.8%)

Algorithm
batch-egg-rewrite
Rules
1056×rational.json-simplify-2
892×rational.json-simplify-80
892×rational.json-simplify-79
556×rational.json-simplify-47
546×rational.json-simplify-54
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0919
17719
225619
396119
4389119
Stop Event
node limit
Counts
1 → 23
Calls
Call 1
Inputs
(+.f64 (*.f64 x y) (*.f64 z t))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x y) (neg.f64 (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 z t) (neg.f64 (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (neg.f64 (*.f64 z t)) (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 z t) (-.f64 -1 (*.f64 x y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 x y) (-.f64 -1 (*.f64 z t))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (*.f64 z t))) (-.f64 1 (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (*.f64 x y))) (-.f64 1 (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (+.f64 (*.f64 x y) (*.f64 z t)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 x y) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (+.f64 (*.f64 x y) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (/.f64 1 (+.f64 (*.f64 x y) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (/.f64 (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (+.f64 (*.f64 x y) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))) (/.f64 (/.f64 1 (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))))) (/.f64 (/.f64 (/.f64 1 (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (neg.f64 (*.f64 z t)) (*.f64 x y)))))))

simplify264.0ms (5.3%)

Algorithm
egg-herbie
Rules
1360×rational.json-simplify-2
934×rational.json-simplify-43
920×rational.json-simplify-54
788×rational.json-simplify-1
722×rational.json-simplify-58
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0611205
11301205
23671205
320121205
453411205
575891205
Stop Event
node limit
Counts
71 → 26
Calls
Call 1
Inputs
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(-.f64 (*.f64 x y) (neg.f64 (*.f64 z t)))
(-.f64 (*.f64 z t) (neg.f64 (*.f64 x y)))
(-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 0)
(-.f64 0 (-.f64 (neg.f64 (*.f64 z t)) (*.f64 x y)))
(-.f64 (-.f64 (*.f64 z t) (-.f64 -1 (*.f64 x y))) 1)
(-.f64 (-.f64 (*.f64 x y) (-.f64 -1 (*.f64 z t))) 1)
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 z t))) (-.f64 1 (*.f64 x y)))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 x y))) (-.f64 1 (*.f64 z t)))
(-.f64 (-.f64 0 (-.f64 -1 (+.f64 (*.f64 x y) (*.f64 z t)))) 1)
(*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1)
(*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))
(*.f64 1 (+.f64 (*.f64 x y) (*.f64 z t)))
(*.f64 (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (+.f64 (*.f64 x y) (*.f64 z t)))
(*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (/.f64 1 (+.f64 (*.f64 x y) (*.f64 z t))))
(*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (/.f64 (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (+.f64 (*.f64 x y) (*.f64 z t))))
(*.f64 (/.f64 1 (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))
(*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))) (/.f64 (/.f64 1 (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))))
(*.f64 (/.f64 (/.f64 1 (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))))
(*.f64 (*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))))) (/.f64 (/.f64 (/.f64 1 (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))))))
(/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1)
(/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))
(pow.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1)
(neg.f64 (-.f64 (neg.f64 (*.f64 z t)) (*.f64 x y)))
Outputs
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(-.f64 (*.f64 x y) (neg.f64 (*.f64 z t)))
(+.f64 (*.f64 y x) (*.f64 t z))
(-.f64 (*.f64 z t) (neg.f64 (*.f64 x y)))
(+.f64 (*.f64 y x) (*.f64 t z))
(-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 0)
(+.f64 (*.f64 y x) (*.f64 t z))
(-.f64 0 (-.f64 (neg.f64 (*.f64 z t)) (*.f64 x y)))
(+.f64 (*.f64 y x) (*.f64 t z))
(-.f64 (-.f64 (*.f64 z t) (-.f64 -1 (*.f64 x y))) 1)
(+.f64 (*.f64 y x) (*.f64 t z))
(-.f64 (-.f64 (*.f64 x y) (-.f64 -1 (*.f64 z t))) 1)
(+.f64 (*.f64 y x) (*.f64 t z))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 z t))) (-.f64 1 (*.f64 x y)))
(+.f64 (*.f64 y x) (*.f64 t z))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 x y))) (-.f64 1 (*.f64 z t)))
(+.f64 (*.f64 y x) (*.f64 t z))
(-.f64 (-.f64 0 (-.f64 -1 (+.f64 (*.f64 x y) (*.f64 z t)))) 1)
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1)
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 1 (+.f64 (*.f64 x y) (*.f64 z t)))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (+.f64 (*.f64 x y) (*.f64 z t)))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (/.f64 1 (+.f64 (*.f64 x y) (*.f64 z t))))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (/.f64 (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (+.f64 (*.f64 x y) (*.f64 z t))))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 (/.f64 1 (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))) (/.f64 (/.f64 1 (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 (/.f64 (/.f64 1 (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 (*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))))) (/.f64 (/.f64 (/.f64 1 (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))))))
(+.f64 (*.f64 y x) (*.f64 t z))
(/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1)
(+.f64 (*.f64 y x) (*.f64 t z))
(/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))
(+.f64 (*.f64 y x) (*.f64 t z))
(pow.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1)
(+.f64 (*.f64 y x) (*.f64 t z))
(neg.f64 (-.f64 (neg.f64 (*.f64 z t)) (*.f64 x y)))
(+.f64 (*.f64 y x) (*.f64 t z))

eval9.0ms (0.2%)

Compiler

Compiled 551 to 87 computations (84.2% saved)

prune10.0ms (0.2%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New24226
Fresh000
Picked011
Done000
Total24327
Error
0.0b
Counts
27 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 (*.f64 x y) (*.f64 z t))
27.6b
(*.f64 y x)
34.4b
(*.f64 t z)
Compiler

Compiled 25 to 17 computations (32% saved)

localize9.0ms (0.2%)

Compiler

Compiled 9 to 5 computations (44.4% saved)

localize8.0ms (0.2%)

Compiler

Compiled 9 to 5 computations (44.4% saved)

eval0.0ms (0%)

Compiler

Compiled 4 to 4 computations (0% saved)

prune3.0ms (0.1%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New000
Fresh000
Picked011
Done022
Total033
Error
0.0b
Counts
3 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 (*.f64 x y) (*.f64 z t))
27.6b
(*.f64 y x)
34.4b
(*.f64 t z)
Compiler

Compiled 25 to 17 computations (32% saved)

regimes63.0ms (1.3%)

Counts
3 → 1
Calls
Call 1
Inputs
(*.f64 t z)
(*.f64 y x)
(+.f64 (*.f64 x y) (*.f64 z t))
Outputs
(+.f64 (*.f64 x y) (*.f64 z t))
Calls

7 calls:

12.0ms
t
10.0ms
x
9.0ms
(*.f64 z t)
7.0ms
(+.f64 (*.f64 x y) (*.f64 z t))
7.0ms
z
Results
ErrorSegmentsBranch
0.0b1x
0.0b1y
0.0b1z
0.0b1t
0.0b1(+.f64 (*.f64 x y) (*.f64 z t))
0.0b1(*.f64 x y)
0.0b1(*.f64 z t)
Compiler

Compiled 62 to 42 computations (32.3% saved)

regimes185.0ms (3.8%)

Accuracy

Total -46.1b remaining (-318.8%)

Threshold costs -46.1b (-318.8%)

Counts
2 → 9
Calls
Call 1
Inputs
(*.f64 t z)
(*.f64 y x)
Outputs
(*.f64 y x)
(*.f64 t z)
(*.f64 y x)
(*.f64 t z)
(*.f64 y x)
(*.f64 t z)
(*.f64 y x)
(*.f64 t z)
(*.f64 y x)
Calls

4 calls:

55.0ms
y
44.0ms
z
43.0ms
x
42.0ms
t
Results
ErrorSegmentsBranch
16.0b7x
14.5b9y
17.8b7z
14.7b7t
Compiler

Compiled 30 to 22 computations (26.7% saved)

bsearch198.0ms (4%)

Algorithm
binary-search
Steps
TimeLeftRight
36.0ms
1057490821759.1797
9.469212382787081e+22
27.0ms
2.2740689426616236e-112
1.6123826354073049e-111
20.0ms
1.3094365272775756e-130
5.98399558776244e-130
24.0ms
1.2219933159578347e-176
2.4104333725612283e-175
27.0ms
9.9581597940901e-226
1.3716054623185745e-222
34.0ms
-1.7110390726036963e-218
-1.957681871179888e-226
12.0ms
-6.449631624107541e-188
-4.013037945614818e-188
18.0ms
-1.5036802756687754e-105
-4.941159302708798e-106
Results
174.0ms880×body256valid
1.0msbody256infinite
Compiler

Compiled 898 to 673 computations (25.1% saved)

simplify9.0ms (0.2%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
038161
Stop Event
done
saturated
Calls
Call 1
Inputs
(+.f64 (*.f64 x y) (*.f64 z t))
(if (<=.f64 y -1355681185995627/1291124939043454294827959586001505937164852896414611756415329678270323811008420597314822676640068915717951585986373746688) (*.f64 y x) (if (<=.f64 y -6427334903582433/156764265941034957982331212844852467344711417043899710759469297619722251722129607859661177881884230709880082871203965476543290384119266386721367084105368877945996036265148061460008137163052639879920877568) (*.f64 t z) (if (<=.f64 y -6756558737692685/397444631628981487398138749046400654145762820381874332451597321734669043887712482900704872660133498355324859058465554740779924491293392484209737542410542371636340473861337575820867913121689201875267327793591416000228568794576910811136) (*.f64 y x) (if (<=.f64 y 7293140785962341/6511732844609232689531105264376228317524178049136629062886970519300817615056281319845148633663627237053642490813899648872938282865350942461292339894854326216889802323744154842249099888585755883524379898570201759747744871130348106729652224) (*.f64 t z) (if (<=.f64 y 7071782957314403/570305077202774402330146450712536415611653563406069991322399064737409395901084673313239101414671424972330288696699300913836088090171929749781582664965276773531499334295033118760359274030825472) (*.f64 y x) (if (<=.f64 y 3621228318366551/6243497100631984462763194459586332611497196285329942301718313919250743477639531240240612206126983942319653862242813245790895951358576570612580352) (*.f64 t z) (if (<=.f64 y 8231363154421169/21661481985318866090456360813617841433097164651373566993519371723551728967231450179999800047688590453885868835635965404913860608) (*.f64 y x) (if (<=.f64 y 26000000000000) (*.f64 t z) (*.f64 y x)))))))))
(*.f64 t z)
Outputs
(+.f64 (*.f64 x y) (*.f64 z t))
(if (<=.f64 y -1355681185995627/1291124939043454294827959586001505937164852896414611756415329678270323811008420597314822676640068915717951585986373746688) (*.f64 y x) (if (<=.f64 y -6427334903582433/156764265941034957982331212844852467344711417043899710759469297619722251722129607859661177881884230709880082871203965476543290384119266386721367084105368877945996036265148061460008137163052639879920877568) (*.f64 t z) (if (<=.f64 y -6756558737692685/397444631628981487398138749046400654145762820381874332451597321734669043887712482900704872660133498355324859058465554740779924491293392484209737542410542371636340473861337575820867913121689201875267327793591416000228568794576910811136) (*.f64 y x) (if (<=.f64 y 7293140785962341/6511732844609232689531105264376228317524178049136629062886970519300817615056281319845148633663627237053642490813899648872938282865350942461292339894854326216889802323744154842249099888585755883524379898570201759747744871130348106729652224) (*.f64 t z) (if (<=.f64 y 7071782957314403/570305077202774402330146450712536415611653563406069991322399064737409395901084673313239101414671424972330288696699300913836088090171929749781582664965276773531499334295033118760359274030825472) (*.f64 y x) (if (<=.f64 y 3621228318366551/6243497100631984462763194459586332611497196285329942301718313919250743477639531240240612206126983942319653862242813245790895951358576570612580352) (*.f64 t z) (if (<=.f64 y 8231363154421169/21661481985318866090456360813617841433097164651373566993519371723551728967231450179999800047688590453885868835635965404913860608) (*.f64 y x) (if (<=.f64 y 26000000000000) (*.f64 t z) (*.f64 y x)))))))))
(*.f64 t z)
Compiler

Compiled 81 to 42 computations (48.1% saved)

soundness0.0ms (0%)

end71.0ms (1.4%)

Remove

(sort z t)

(sort x y)

Compiler

Compiled 117 to 61 computations (47.9% saved)

Profiling

Loading profile data...